package org.pb.org.mapper;

import org.pb.basic.mapper.BaseMapper;
import org.pb.org.domain.Employee;
import org.pb.org.query.EmployeeQuery;
import org.pb.user.domain.LoginInfo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 员工表对应的持久层接口
 * @author
 */
@Repository
public interface EmployeeMapper extends BaseMapper<Employee, EmployeeQuery> {

    /**
     * 根据员工账号查询对应的管理员数据
     * @param admin 要查询的员工的数据
     * @return 返回查询到的结果
     */
    Employee loadByAccount(Employee admin);

    /**
     * 根据shop_id删除对应的员工信息
     * @param id 要删除管理员的店铺id
     */
    void removeByShop(Long id);

    /**
     * 根据店铺id集合，批量删除员工数据
     * @param ids 要删除的管理员的店铺id集合
     */
    void batchRemoveByShop(List<Long> ids);

    /**
     * 通过店铺id获取到对应的店铺管理员信息
     * @param id
     * @return
     */
    Employee getByShopId(Long id);

    /**
     * 根据登陆信息获取到对应的店铺管理员数据
     * @param empLoginInfo
     * @return
     */
    Employee getByLogInfoId(LoginInfo empLoginInfo);
}
